package com.leyou.trade.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.leyou.commons.dto.PageDTO;
import com.leyou.trade.dto.OrderDTO;
import com.leyou.trade.dto.OrderDetailsDTO;
import com.leyou.trade.dto.OrderDetailsDTO1;
import com.leyou.trade.dto.SearchParamDTO;
import com.leyou.trade.entity.Order;
import com.leyou.trade.entity.comment;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;


public interface OrderService extends IService<Order> {
    Long createOrder(OrderDTO orderDTO, HttpServletRequest request);

    String getPayUrl(Long orderId);

    void handleNotify(Map<String, String> data);

    Integer queryOrderState(Long orderId);

    void evictOrderIfNecessary(Long orderId);

    void RemindDelivery(Long orderId);

    void confirmreceipt(Long orderId);

    Boolean comment(comment comment);

    Map<String,Object> checkComment(Long id);

    PageDTO<OrderDetailsDTO> queryOrderList(SearchParamDTO searchParam);

    void backPay(Long orderId,Long price);

    OrderDetailsDTO1 queryOrderDetail(Long orderId);
}